package com.zdkj.subway.stm.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zdkj.common.core.entity.BaseEntity;
import com.zdkj.subway.stm.util.LocalDateConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;

/**
 * 营销车票录入主表
 *
 * @author songtuo
 * @date 2020-07-11 21:43:57
 */
@Data
@TableName("sw_st_marketing_ticket")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "营销车票录入主表")
public class SwStMarketingTicket extends BaseEntity<SwStMarketingTicket> {
    private static final long serialVersionUID = 1L;
    /**
     * 唯一标识
     */
    @TableId
    @ApiModelProperty(value = "唯一标识")
    @ExcelProperty("序号")
    private Integer id;
    /**
     * 线路编码，不能重复
     */
    @ExcelIgnore
    @ApiModelProperty(value = "线路编码，不能重复")
    private String lineCode;
    /**
     * 线路编码，不能重复
     */
    @ExcelIgnore
    @ApiModelProperty(value = "线路编码，不能重复")
    private String stationCode;
    /**
     * 操作日期
     */
    @ExcelProperty(value = "日期", converter = LocalDateConverter.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "操作日期")
    private LocalDate opertorTime;
    /**
     * 售票员名称
     */
    @ExcelProperty("售票员")
    @ApiModelProperty(value = "售票员名称")
    private String conductorName;
    /**
     * 售票员编号
     */
    @ExcelIgnore
    @ApiModelProperty(value = "售票员编号")
    private Integer conductorId;
    /**
     * 合计售出张数
     */
    @ExcelProperty("合计售出张数（张）")
    @ApiModelProperty(value = "合计售出张数（张）")
    private Integer totalSellNum;
    /**
     * 合计售出金额
     */
    @ExcelProperty("合计售出金额（元）")
    @ApiModelProperty(value = "合计售出金额")
    private BigDecimal totalSellAmount;
    /**
     * 操作状态 0：未操作  1：已操作
     */
    @ApiModelProperty(value="操作状态 0：未操作  1：已操作")
    private String executeStatus;
    /**
     * 审批状态(未提交，已提交，已清算)
     */
    @ApiModelProperty(value = "审批状态(未提交，已提交)")
    @ExcelProperty("提交状态")
    private String approvalStatus;

    @ExcelIgnore
    @ApiModelProperty(value = "状态确认(未确认，已确认)")
    private String confirmStatus;

    /**
     * 售票员日结数据主表Id
     */
    @ApiModelProperty(value = "售票员日结数据主表ID")
    @ExcelIgnore
    private Integer refConductorSettleId;

    /**
     * 电子游览主表ID
     */
    @ApiModelProperty(value = "电子预览")
    @ExcelIgnore
    private Integer refElectronicPreviewId;

    @ApiModelProperty(value = "售票员工号")
    @ExcelIgnore
    private String conductorJobNo;

    @ExcelIgnore
    @ApiModelProperty(value = "售票员班次")
    private String conductorShifts;
    /**
     * 设备操作编号
     */
    @ApiModelProperty(value = "设备操作编号")
    private String deviceOperateNum;
    /**
     * BOM编号
     */
    @ApiModelProperty(value = "BOM编号")
    private String bomCode;

    /**
     * 报表修改状态：默认0\r\n0：关闭\r\n1：打开，打开时可以编辑，保存时并记录日志
     */
    @ApiModelProperty(value = "报表修改状态：默认0\\r\\n0：关闭\\r\\n1：打开，打开时可以编辑，保存时并记录日志")
    private String reportModifyStatus;

    /**
     * 更新人工号
     */
    @ApiModelProperty(value="更新人工号")
    private String entryUpdateJobNo;

    /**
     * 更新人名称
     */
    @ApiModelProperty(value="更新人名称")
    private String entryUpdateJobName;

    /**
     * 更新时间
     */
    @ApiModelProperty(value="更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date entryUpdateTime;


    /**
     * 是否是合并数据  1：是 0 否 默认0
     */
    @ApiModelProperty(value = "是否是合并数据  1：是 0 否 默认0")
    private String isMerge;

    /**
     * 被合并的数据ID ,中间用逗号隔开 对应合并后的数据，存储对应的被合并的数据ID
     */
    @ApiModelProperty(value="被合并的数据ID ,中间用逗号隔开 对应合并后的数据，存储对应的被合并的数据ID")
    private String isBeMergedId;

    /**
     * 合并前的班次，中间用逗号隔开
     */
    @ApiModelProperty(value="合并前的班次，中间用逗号隔开")
    private String mergeConductorShifts;

	/**
     * 查询来源虚拟字段  1：报表差错跳转   
     */
    @ApiModelProperty(value="查询来源  1：报表差错跳转")
	@TableField(exist = false)
    private String sourceQueryFlag;


    /**
     * 是否加入报表差错
     */
    @ApiModelProperty(value = "是否加入报表差错")
    private String isAddReprotError;

}
